Skip to content

feat(ui): add Studio and Atlas named themes#11

Draft
dustenhubbard wants to merge 2 commits into
feat/ui-v1-lists-panelfrom
feat/ui-theme-studio-atlas
Draft

feat(ui): add Studio and Atlas named themes#11
dustenhubbard wants to merge 2 commits into
feat/ui-v1-lists-panelfrom
feat/ui-theme-studio-atlas

Conversation

@dustenhubbard

Copy link
Copy Markdown
Owner

Add two named themes alongside the existing system/light/dark:

  • Studio: a cool, dark, scientific base (#0c0f14 ground) with a calm
    teal accent (#37c0a6)
  • Atlas: Studio's light sibling for bright rooms, same teal accent

Both build on qdarkstyle's Dark/Light base, then a single-pass palette
remap substitutes every qdarkstyle hex for its Studio/Atlas counterpart.
qdarkstyle's palette constants are read at run time, so the remap tracks
the installed version; light/dark are left untouched. The on-accent ink
turns dark on the brighter teal so selected rows, highlighted menu items,
and the active-tool glyph stay legible (white on #37c0a6 is ~2.3:1).

Both theme pickers (All Options > View and the Theme menu) offer the new
options; the choice persists via the existing QSettings "theme" key, and
normalize_mode stays backward-compatible (legacy default/qdark migrate).

Studio's palette is lifted from the UI-direction mockup; Atlas's light
shell is derived to mirror it, since the mockup names Atlas but gives no
explicit palette. Hues are provisional, intended for interactive tuning.

Adds headless tests covering theme/family resolution, per-theme accent
and icon colors, stylesheet distinctness, remap completeness (no
qdarkstyle hue survives), the light/dark-unchanged contract, and
persistence round-trips.

Add two named themes alongside the existing system/light/dark:

- Studio: a cool, dark, scientific base (#0c0f14 ground) with a calm
  teal accent (#37c0a6)
- Atlas: Studio's light sibling for bright rooms, same teal accent

Both build on qdarkstyle's Dark/Light base, then a single-pass palette
remap substitutes every qdarkstyle hex for its Studio/Atlas counterpart.
qdarkstyle's palette constants are read at run time, so the remap tracks
the installed version; light/dark are left untouched. The on-accent ink
turns dark on the brighter teal so selected rows, highlighted menu items,
and the active-tool glyph stay legible (white on #37c0a6 is ~2.3:1).

Both theme pickers (All Options > View and the Theme menu) offer the new
options; the choice persists via the existing QSettings "theme" key, and
normalize_mode stays backward-compatible (legacy default/qdark migrate).

Studio's palette is lifted from the UI-direction mockup; Atlas's light
shell is derived to mirror it, since the mockup names Atlas but gives no
explicit palette. Hues are provisional, intended for interactive tuning.

Adds headless tests covering theme/family resolution, per-theme accent
and icon colors, stylesheet distinctness, remap completeness (no
qdarkstyle hue survives), the light/dark-unchanged contract, and
persistence round-trips.
@dustenhubbard dustenhubbard added this to the v1.30.0 milestone Jul 4, 2026
…t/ui-theme-studio-atlas

# Conflicts:
#	PyReconstruct/modules/gui/dialog/all_options.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant